// To parse this JSON data, do
//
//     final projectItem = projectItemFromJson(jsonString);

import 'dart:convert';

ProjectItem projectItemFromJson(String str) =>
    ProjectItem.fromJson(json.decode(str));

String projectItemToJson(ProjectItem data) => json.encode(data.toJson());

class ProjectItem {
  ProjectItem({
    this.pageIndex,
    this.pageSize,
    this.startIndex,
    this.projectId,
    this.createId,
    this.projectName,
    this.useArea,
    this.skillArea,
    this.valuation,
    this.valuationType,
    this.fruitType,
    this.processType,
    this.financingType,
    this.cooperateType,
    this.yourWant,
    this.yourWantContent,
    this.words,
    this.companyName,
    this.contactName,
    this.phoneNumber,
    this.email,
    this.provinceId,
    this.cityId,
    this.areaId,
    this.photos,
    this.summary,
    this.detail,
    this.teamDesc,
    this.proveUrl,
    this.createTime,
    this.updateTime,
    this.updateBy,
    this.comment,
    this.state,
    this.approvalState,
    this.approvalOpinion,
    this.approvalUser,
    this.approvalTime,
    this.delFlag,
    this.isRecommend,
    this.recommendTime,
    this.startVideo,
    this.endVideo,
    this.browseNum,
    this.checkSolution,
    this.provinceName,
    this.cityName,
    this.importFlag,
    this.publishUserId,
    this.talkUserId,
    this.shareUserIds,
    this.approvalFlag,
    this.childUserId,
    this.talkChildUserId,
    this.areaName,
    this.useAreaStr,
    this.skillAreaStr,
    this.fruitTypeStr,
    this.processTypeStr,
    this.financingTypeStr,
    this.createName,
    this.accountHead,
    this.keyWord,
    this.sort,
    this.userProvince,
    this.userCity,
    this.userArea,
    this.stateLabel,
    this.approvalStateLabel,
    this.userName,
    this.agentId,
    this.agentUserInfoId,
    this.agentApplyId,
    this.userPhoneNumber,
    this.topState,
    this.topStartTime,
    this.topEndTime,
    this.topCreateTime,
    this.levelNum,
    this.searchCity,
    this.searchProv,
    this.subCode,
    this.publishUserName,
    this.publishUserLogo,
    this.publishUserPhone,
    this.talkUserName,
    this.talkUserLogo,
    this.talkUserPhone,
    this.talkUserIsAgent,
    this.shareUserNames,
    this.childUserName,
    this.childUserLogo,
    this.childUserPhone,
    this.childUserJob,
    this.talkChildUserName,
    this.talkChildUserLogo,
    this.talkChildUserPhone,
    this.talkChildUserJob,
    this.yourWantStr,
  });

  int pageIndex;
  int pageSize;
  int startIndex;
  int projectId;
  int createId;
  String projectName;
  List<int> useArea;
  List<int> skillArea;
  int valuation;
  int valuationType;
  List<int> fruitType;
  List<int> processType;
  List<int> financingType;
  List<String> cooperateType;
  List<String> yourWant;
  String yourWantContent;
  List<String> words;
  String companyName;
  String contactName;
  String phoneNumber;
  String email;
  int provinceId;
  int cityId;
  int areaId;
  List<String> photos;
  String summary;
  String detail;
  String teamDesc;
  List<String> proveUrl;
  DateTime createTime;
  DateTime updateTime;
  dynamic updateBy;
  String comment;
  int state;
  int approvalState;
  String approvalOpinion;
  String approvalUser;
  DateTime approvalTime;
  int delFlag;
  int isRecommend;
  dynamic recommendTime;
  String startVideo;
  String endVideo;
  int browseNum;
  dynamic checkSolution;
  String provinceName;
  String cityName;
  int importFlag;
  int publishUserId;
  int talkUserId;
  String shareUserIds;
  int approvalFlag;
  dynamic childUserId;
  dynamic talkChildUserId;
  dynamic areaName;
  dynamic useAreaStr;
  dynamic skillAreaStr;
  dynamic fruitTypeStr;
  dynamic processTypeStr;
  dynamic financingTypeStr;
  String createName;
  String accountHead;
  String keyWord;
  String sort;
  dynamic userProvince;
  dynamic userCity;
  dynamic userArea;
  dynamic stateLabel;
  dynamic approvalStateLabel;
  dynamic userName;
  dynamic agentId;
  dynamic agentUserInfoId;
  dynamic agentApplyId;
  String userPhoneNumber;
  int topState;
  String topStartTime;
  String topEndTime;
  String topCreateTime;
  int levelNum;
  dynamic searchCity;
  dynamic searchProv;
  dynamic subCode;
  String publishUserName;
  String publishUserLogo;
  String publishUserPhone;
  dynamic talkUserName;
  dynamic talkUserLogo;
  dynamic talkUserPhone;
  bool talkUserIsAgent;
  dynamic shareUserNames;
  dynamic childUserName;
  dynamic childUserLogo;
  dynamic childUserPhone;
  dynamic childUserJob;
  dynamic talkChildUserName;
  dynamic talkChildUserLogo;
  dynamic talkChildUserPhone;
  dynamic talkChildUserJob;
  dynamic yourWantStr;

  factory ProjectItem.fromJson(Map<String, dynamic> json) => ProjectItem(
        pageIndex: json["pageIndex"],
        pageSize: json["pageSize"],
        startIndex: json["startIndex"],
        projectId: json["projectId"],
        createId: json["createId"],
        projectName: json["projectName"],
        useArea: List<int>.from(json["useArea"].map((x) => x)),
        skillArea: List<int>.from(json["skillArea"].map((x) => x)),
        valuation: json["valuation"],
        valuationType: json["valuationType"],
        fruitType: List<int>.from(json["fruitType"].map((x) => x)),
        processType: List<int>.from(json["processType"].map((x) => x)),
        financingType: List<int>.from(json["financingType"].map((x) => x)),
        cooperateType: List<String>.from(json["cooperateType"].map((x) => x)),
        yourWant: List<String>.from(json["yourWant"].map((x) => x)),
        yourWantContent: json["yourWantContent"],
        words: List<String>.from(json["words"].map((x) => x)),
        companyName: json["companyName"],
        contactName: json["contactName"],
        phoneNumber: json["phoneNumber"],
        email: json["email"],
        provinceId: json["provinceId"],
        cityId: json["cityId"],
        areaId: json["areaId"],
        photos: List<String>.from(json["photos"].map((x) => x)),
        summary: json["summary"],
        detail: json["detail"],
        teamDesc: json["teamDesc"],
        proveUrl: List<String>.from(json["proveUrl"].map((x) => x)),
        createTime: DateTime.parse(json["createTime"]),
        updateTime: DateTime.parse(json["updateTime"]),
        updateBy: json["updateBy"],
        comment: json["comment"],
        state: json["state"],
        approvalState: json["approvalState"],
        approvalOpinion: json["approvalOpinion"],
        approvalUser: json["approvalUser"],
        // approvalTime: DateTime.parse(json["approvalTime"]),
        delFlag: json["delFlag"],
        isRecommend: json["isRecommend"],
        recommendTime: json["recommendTime"],
        startVideo: json["startVideo"],
        endVideo: json["endVideo"],
        browseNum: json["browseNum"],
        checkSolution: json["checkSolution"],
        provinceName: json["provinceName"],
        cityName: json["cityName"],
        importFlag: json["importFlag"],
        publishUserId: json["publishUserId"],
        talkUserId: json["talkUserId"],
        shareUserIds: json["shareUserIds"],
        approvalFlag: json["approvalFlag"],
        childUserId: json["childUserId"],
        talkChildUserId: json["talkChildUserId"],
        areaName: json["areaName"],
        useAreaStr: json["useAreaStr"],
        skillAreaStr: json["skillAreaStr"],
        fruitTypeStr: json["fruitTypeStr"],
        processTypeStr: json["processTypeStr"],
        financingTypeStr: json["financingTypeStr"],
        createName: json["createName"],
        accountHead: json["accountHead"],
        keyWord: json["keyWord"],
        sort: json["sort"],
        userProvince: json["userProvince"],
        userCity: json["userCity"],
        userArea: json["userArea"],
        stateLabel: json["stateLabel"],
        approvalStateLabel: json["approvalStateLabel"],
        userName: json["userName"],
        agentId: json["agentId"],
        agentUserInfoId: json["agentUserInfoId"],
        agentApplyId: json["agentApplyId"],
        userPhoneNumber: json["userPhoneNumber"],
        topState: json["topState"],
        topStartTime: json["topStartTime"],
        topEndTime: json["topEndTime"],
        topCreateTime: json["topCreateTime"],
        levelNum: json["levelNum"],
        searchCity: json["searchCity"],
        searchProv: json["searchProv"],
        subCode: json["subCode"],
        publishUserName: json["publishUserName"],
        publishUserLogo: json["publishUserLogo"],
        publishUserPhone: json["publishUserPhone"],
        talkUserName: json["talkUserName"],
        talkUserLogo: json["talkUserLogo"],
        talkUserPhone: json["talkUserPhone"],
        talkUserIsAgent: json["talkUserIsAgent"],
        shareUserNames: json["shareUserNames"],
        childUserName: json["childUserName"],
        childUserLogo: json["childUserLogo"],
        childUserPhone: json["childUserPhone"],
        childUserJob: json["childUserJob"],
        talkChildUserName: json["talkChildUserName"],
        talkChildUserLogo: json["talkChildUserLogo"],
        talkChildUserPhone: json["talkChildUserPhone"],
        talkChildUserJob: json["talkChildUserJob"],
        yourWantStr: json["yourWantStr"],
      );

  Map<String, dynamic> toJson() => {
        "pageIndex": pageIndex,
        "pageSize": pageSize,
        "startIndex": startIndex,
        "projectId": projectId,
        "createId": createId,
        "projectName": projectName,
        "useArea": List<dynamic>.from(useArea.map((x) => x)),
        "skillArea": List<dynamic>.from(skillArea.map((x) => x)),
        "valuation": valuation,
        "valuationType": valuationType,
        "fruitType": List<dynamic>.from(fruitType.map((x) => x)),
        "processType": List<dynamic>.from(processType.map((x) => x)),
        "financingType": List<dynamic>.from(financingType.map((x) => x)),
        "cooperateType": List<dynamic>.from(cooperateType.map((x) => x)),
        "yourWant": List<dynamic>.from(yourWant.map((x) => x)),
        "yourWantContent": yourWantContent,
        "words": List<dynamic>.from(words.map((x) => x)),
        "companyName": companyName,
        "contactName": contactName,
        "phoneNumber": phoneNumber,
        "email": email,
        "provinceId": provinceId,
        "cityId": cityId,
        "areaId": areaId,
        "photos": List<dynamic>.from(photos.map((x) => x)),
        "summary": summary,
        "detail": detail,
        "teamDesc": teamDesc,
        "proveUrl": List<dynamic>.from(proveUrl.map((x) => x)),
        "createTime": createTime.toIso8601String(),
        "updateTime": updateTime.toIso8601String(),
        "updateBy": updateBy,
        "comment": comment,
        "state": state,
        "approvalState": approvalState,
        "approvalOpinion": approvalOpinion,
        "approvalUser": approvalUser,
        // "approvalTime": approvalTime.toIso8601String(),
        "delFlag": delFlag,
        "isRecommend": isRecommend,
        "recommendTime": recommendTime,
        "startVideo": startVideo,
        "endVideo": endVideo,
        "browseNum": browseNum,
        "checkSolution": checkSolution,
        "provinceName": provinceName,
        "cityName": cityName,
        "importFlag": importFlag,
        "publishUserId": publishUserId,
        "talkUserId": talkUserId,
        "shareUserIds": shareUserIds,
        "approvalFlag": approvalFlag,
        "childUserId": childUserId,
        "talkChildUserId": talkChildUserId,
        "areaName": areaName,
        "useAreaStr": useAreaStr,
        "skillAreaStr": skillAreaStr,
        "fruitTypeStr": fruitTypeStr,
        "processTypeStr": processTypeStr,
        "financingTypeStr": financingTypeStr,
        "createName": createName,
        "accountHead": accountHead,
        "keyWord": keyWord,
        "sort": sort,
        "userProvince": userProvince,
        "userCity": userCity,
        "userArea": userArea,
        "stateLabel": stateLabel,
        "approvalStateLabel": approvalStateLabel,
        "userName": userName,
        "agentId": agentId,
        "agentUserInfoId": agentUserInfoId,
        "agentApplyId": agentApplyId,
        "userPhoneNumber": userPhoneNumber,
        "topState": topState,
        "topStartTime": topStartTime,
        "topEndTime": topEndTime,
        "topCreateTime": topCreateTime,
        "levelNum": levelNum,
        "searchCity": searchCity,
        "searchProv": searchProv,
        "subCode": subCode,
        "publishUserName": publishUserName,
        "publishUserLogo": publishUserLogo,
        "publishUserPhone": publishUserPhone,
        "talkUserName": talkUserName,
        "talkUserLogo": talkUserLogo,
        "talkUserPhone": talkUserPhone,
        "talkUserIsAgent": talkUserIsAgent,
        "shareUserNames": shareUserNames,
        "childUserName": childUserName,
        "childUserLogo": childUserLogo,
        "childUserPhone": childUserPhone,
        "childUserJob": childUserJob,
        "talkChildUserName": talkChildUserName,
        "talkChildUserLogo": talkChildUserLogo,
        "talkChildUserPhone": talkChildUserPhone,
        "talkChildUserJob": talkChildUserJob,
        "yourWantStr": yourWantStr,
      };
}
